﻿using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace Model
{
    [Table("ProcessPackage")]
    public class ProcessPackage
    {
        private int _processPackageId;
        private string _name;
        private string _description;
        private DateTime _creationTime;
        private DateTime? _updateTime;

        // 工艺包 ID（主键）
        [Key]
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]
        public int ProcessPackageId
        {
            set { _processPackageId = value; }
            get { return _processPackageId; }
        }

        // 名称（唯一，非空）
        [Required]
        [StringLength(255)]
        public string Name
        {
            set { _name = value; }
            get { return _name; }
        }

        // 描述（可空）
        public string Description
        {
            set { _description = value; }
            get { return _description; }
        }

        // 创建时间（非空）
        [Required]
        public DateTime CreationTime
        {
            set { _creationTime = value; }
            get { return _creationTime; }
        }

        // 更新时间（可空）
        public DateTime? UpdateTime
        {
            set { _updateTime = value; }
            get { return _updateTime; }
        }

        // 构造函数
        public ProcessPackage()
        {
            // 可以在构造函数中初始化一些默认值
        }
    }
}